工学ナビの物置です。習作とか技術資料とか。ものが増えてきたのでそのうち個別ページに分けるかも。

GitHubで公開しているもの一覧

このページで公開しているもの以外に、GitHubで公開しているものもあります。主にProcessing。


Watch Dogs Profiler

ゲーム「Watch Dogs」に登場する人の個人情報を表示するアプリのビジュアルをProcessingで再現しました。 作中では顔認識によってその人に紐づいた個人情報を表示しているようでしたが、このプログラムでは検出された顔に対してあらかじめ用意された情報を表示するようになっています(誰かまでは認識してない)。 カーソルの動きと文字列のアニメーションがこだわりポイント。



Processingで実行してお楽しみください。実行にはOpenCV for Processingが必要です。リファクタリングしてないので汚いコードですが、表示するプロフィール情報の部分は上の方にまとめてありますので適当に書きかえて遊んでください。

Image Cutter

画像の拡大縮小とクリッピングを同時に行うソフト。「画像を300×200でくり抜きたい。かつその中にいい感じに収まるように拡大縮小もしたい」ってときのためのツールです。背景が透明のPNG画像にも対応。Processingで作りました。



プログラムを起動したら画像ファイルをドラッグ&ドロップしてください。マウスホイールの操作で画像が拡大縮小されます。左下にある2つの数字はくり抜くサイズです(縦×横)。くり抜きたい位置でクリックするとくり抜いた画像を保存するダイアログが表示されます。ファイル名を「○○.jpg」とすればJPG形式で保存されますし、「○○.png」とすればPNG形式で保存されます。

Icon Image Trimmer

Webやアプリ用のアイコン画像を作るのを支援するソフト。画像ファイルをドラッグ&ドロップすると、輪郭ぴったりのところでトリミングし、背景を透明化したPNG画像を出力してくれます。 パワポとかペイントで素材を作るのが好きな人向け。Processingで作った習作。


左上隅の点を背景色と見なして透明化します。 ファイルを保存するときは「○○.png」と拡張子付きで名前を付けてください。 クリップボードからのコピペ(Control+V)もできますが、ベクタ画像は受け付けません。 パワポから直接コピペできるといいんですけど、ベクタデータからビットマップデータへの変換の方法がよくわからないので保留。

CaptureSelector

Processingでキャプチャの設定ダイアログを手軽に表示するためのライブラリです。 PDEファイルを追加してちょっとコードを書き足すだけで下図のようなダイアログを表示できるようになります。 WindowsとMacの両方で使えます。




ライブラリはPDE形式です。sampleフォルダの中に入っているCaptureSelector.pdeというファイルを自分のスケッチに直接追加して使ってください。 Processingで編集中のコード領域にそのままpdeファイルをドラッグ&ドロップすればファイルがコピー&追加されてCaptureSelectorというタブが表示されます。


CaptureSelectorではドロップダウンリストの表示にControlP5ライブラリを使っています。 ProcessingにControlP5がインストールされていない場合は、ProcessingのSketchメニューから「Import Library...」→「Add Library...」とたどり、 表示されたリストの中からControlP5を選択してインストールしてください。

SerialSelector

Processingでシリアルポートの設定ダイアログを手軽に表示するためのライブラリです。 PDEファイルを追加してちょっとコードを書き足すだけで下図のようなダイアログを表示できるようになります。 WindowsとMacの両方で使えます。




ライブラリはPDE形式です。フォルダの中に入っているSerialSelector.pdeというファイルを自分のスケッチに直接追加して使ってください。 Processingで編集中のコード領域にそのままpdeファイルをドラッグ&ドロップすればファイルがコピー&追加されてSerialSelectorというタブが表示されます。


SerialSelectorではドロップダウンリストの表示にControlP5ライブラリを使っています。 ProcessingにControlP5がインストールされていない場合は、ProcessingのSketchメニューから「Import Library...」→「Add Library...」とたどり、 表示されたリストの中からControlP5を選択してインストールしてください。


ブログの解説もご覧ください。 Processingでシリアルポートの設定が簡単になるライブラリ「SerialSelector」を作りました

CameraViewer

PCに接続されているWebカメラやビデオキャプチャデバイスの映像を表示するソフトです。 スペースキーを押すとフルスクリーン表示になります。 Webカメラのテストをしたり、書画カメラみたいに使うために作りました。 Windows用。ソースも同梱。




デバイスの選択と解像度・fpsの設定ができますが、一覧に表示されているパラメータはデバイスから取得した情報ではなく、 設定ファイル(config.txt)であらかじめ用意されたパラメータなので、実際に設定可能かはやってみてのお楽しみです。 DirectShowと戦うのはしんどいのでその辺の処理はテキトーです。実用上これで問題ないですしね。

画像を表示しているウィンドウがアクティブのときにスペースキーを押すとフルスクリーン表示に切り替わります。 フルスクリーンのときにスペースキーを押せば元に戻ります。 ESCキーでウィンドウを閉じます。 CameraViewerを複数起動すれば複数のカメラを同時にモニタできます。

起動時に「サイドバイサイド構成が正しくないため、アプリケーションを開始できませんでした」というエラーが表示されたら、 Microsoft Visual C++ 2008 SP1 再頒布可能パッケージ (x86)をインストールしてください。


ComViewer

PCにつながっているシリアルポートの一覧を常に表示するソフトです。デバイスマネージャをいちいち開いて確認するのが面倒なので作りました。 デバイスを抜き差しすると自動的に表示が更新されます。Windows用。ソースも同梱。 ブログのほうに製作に関する情報を載せています。

シリアルポートの一覧を常に表示するソフトを作りました(オープンソース) - Imaginable Reality

Kinect勉強会資料

IVRC2013ユース部門参加者のための勉強会向けに作った資料です。ProcessingでKinectを使いたい人はどうぞ。

ProcessingではじめるKinectプログラミング のソースコード

情報処理学会の学会誌「情報処理」の2012年夏休み特集に載せているソースコードです。詳しい解説は本誌をご覧ください。


HandleTest

マウス操作でぐりぐり回転させられるハンドルをProcessingで作った習作。連続回転可能で、0度以下、360度以上の角度も扱える。動きはシンプルだけど作ってみると意外に面倒なので、記録として残しておきます。

HandleTest

3D display + Processing

インタリーブ方式の3Dディスプレイ用の立体視画像をProcessingで表示する習作。RockVision3Dという裸眼立体ディスプレイのテスト用に作りました。ブラウザ上で動作します。 キーボードの左右キーで視差を調整できます。

Simple model viewer for 3D display

あの花 + Processing

「あの日見た花の名前を僕達はまだ知らない。」のEDをProcessingで作った習作。ブラウザ上で動作します。

あの花

AR.Drone+OpenCVのサンプルコード

AR.Droneのカメラ画像をOpenCVで扱うサンプルコードです。 コンパイルするにはAR.DroneのSDK(v1.5以上)とOpenCVが必要です。 コメントはすべて日本語で書いています。 ソースをわかりやすくするために操作デバイスはキーボードのみです。 追加のインクルードパス、ライブラリパスの設定は、 自分の環境にあわせて適宜修正してください。


PTAM for Webcam

PTAM(Parallel Tracking and Mapping for Small AR Worspaces)を Webカメラで動かすための差し替え用のソースファイルです。 同梱しているreadme.txtをよく読んで自己責任で使ってください。 また、PTAMに付属しているREADME.txtもよく読んでください。


ExImage Library

コンピュータビジョン・拡張現実感に関する普通じゃない勉強会2.0で発表した 「OpenCVをさらに簡単にするライブラリ」です。ドキュメントの作成に時間が かかりそうなので、先にソースコードを放流します。